package com.sapitest.utils.redis.commands;

import redis.clients.jedis.Jedis;

/**
 * @date 2019-01-13
 * @author Liuxu
 * @version 1.0.0
 * @since jdk1.8
 */
@Deprecated
public class RedisHash {

    /**
     * Hash数据类型执行命令 del
     * @param jedis Jedis对象
     * @param key   键
     * @return  执行结果
     */
    public String hshdel(Jedis jedis, String key){
        return String.valueOf(jedis.hdel(key));
    }

    /**
     * Hash数据类型执行命令 hget
     * @param jedis Jedis对象
     * @param key1 键1
     * @param key2 键2
     * @return  执行结果
     */
    public String hshget(Jedis jedis, String key1, String key2){
        return String.valueOf(jedis.hget(key1, key2));
    }

    /**
     * Hash数据类型执行命令 hexists
     * @param jedis Jedis对象
     * @param key1 键1
     * @param key2 键2
     * @return 执行结果
     */
    public String hshexists(Jedis jedis, String key1, String key2){
        return String.valueOf(jedis.hexists(key1, key2));
    }

    /**
     * Hash数据类型执行命令 hgetall
     * @param jedis Jedis对象
     * @param key   键
     * @return  执行结果
     */
    public String hshgetall(Jedis jedis, String key){
        return String.valueOf(jedis.hgetAll(key));
    }

    /**
     * Hash数据类型执行命令 hincrBy
     * @param jedis Jedis对象
     * @param key1 键1
     * @param key2 键2
     * @param num 增加的值，long数据类型
     * @return 执行结果
     */
    public String hshincrby(Jedis jedis, String key1, String key2, long num){
        return String.valueOf(jedis.hincrBy(key1, key2, num));
    }

    /**
     * Hash数据类型执行命令 hincrByFloat
     * @param jedis Jedis对象
     * @param key1 键1
     * @param key2 键2
     * @param num 增加的值，float数据类型
     * @return 执行结果
     */
    public String hshincrbyfloat(Jedis jedis, String key1, String key2, float num){
        return String.valueOf(jedis.hincrByFloat(key1, key2, num));
    }

    /**
     * Hash数据类型执行命令 hkeys
     * @param jedis Jedis对象
     * @param key   键
     * @return  执行结果
     */
    public String hshkeys(Jedis jedis, String key){
        return String.valueOf(jedis.hkeys(key));
    }

    /**
     * Hash数据类型执行命令 hlen
     * @param jedis Jedis对象
     * @param key 键
     * @return  执行结果
     */
    public String hshlen(Jedis jedis, String key){
        return String.valueOf(jedis.hlen(key));
    }

    /**
     * Hash数据类型执行命令 hset
     * @param jedis Jedis对象
     * @param key1  键1
     * @param key2  键2
     * @param value2   值2
     * @return  执行结果
     */
    public String hshset(Jedis jedis, String key1, String key2, String value2){
        return String.valueOf(jedis.hset(key1, key2, value2));
    }

}
